/**
 * VSCode 扩展命令常量
 * 统一管理所有命令 ID，避免字符串分散维护
 *
 * 注意：package.json中 commands字段注册的命令是会显示在 ctrl + shift + P 的列表里，
 * 有些需要携带参数的命令不需要写在这个字段里
 */
export const COMMANDS = {
  // 核心功能命令
  CREATE_RECORD: 'codememo.createRecord', // 新增问题记录
  OPEN_RECORD_VIEW: 'codememo.openRecordView', // 打开问题记录视图
  OPEN_RECORD_REFERENCE: 'codememo.openRecordReference', // 打开记录引用位置
  UPDATE_RECORD_REFERENCE: 'codememo.updateRecordReference', // 新增
  RECORD_DETAIL: 'codememo.recordDetail', // 显示记录详情
  EDIT_RECORD: 'codememo.editRecord', // 编辑问题记录
  DELETE_RECORD: 'codememo.deleteRecord', // 删除问题记录
  GENERATE_COMMENT: 'codememo.generateComment', // 生成注释

  // 界面操作命令
  REFRESH: 'codememo.refresh', // 刷新记录列表
  SHOW_PANEL_STATUS: 'codememo.showPanelStatus', // 新增

  // 内置 VSCode 命令
  FOCUS_RECORDS_VIEW: 'codememo-records.focus' // 聚焦记录列表视图
} as const

/**
 * 配置项常量
 */
export const CONFIG = {
  SECTION: 'codememo',
  SHOW_DEBUG_INFO: 'codememo.showDebugInfo',
  SHOW_DEBUG_INFO_KEY: 'showDebugInfo' // 配置键名
} as const

// 类型安全的命令类型
export type CommandId = (typeof COMMANDS)[keyof typeof COMMANDS]
export type ConfigKey = (typeof CONFIG)[keyof typeof CONFIG]
